package com.itany.corejava.code11_io.随机读写流;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.RandomAccess;

/**
 * @author MissChen
 * @version 1.0
 * @date 2023 年11月28日 13:41
 */
public class Test {
    public static void main(String[] args) {
        // r:只读
        // rw:读写
        try (


                RandomAccessFile raf = new RandomAccessFile(new File("ramdom.txt"), "rw");


        ) {
            System.out.println(new File("aa/c.txt").exists());
            System.out.println("指针所在的索引位置:"+raf.getFilePointer());
            System.out.println((char)raf.read());

            //到此文件开头的偏移量(以字节为单位)，在该位置发生下一个读取或者写入操作

            System.out.println("指针所在的索引位置:"+raf.getFilePointer());
            raf.write("你好".getBytes());

            System.out.println("指针所在的索引位置:"+raf.getFilePointer());//7
            raf.write("Hello".getBytes());

            System.out.println("指针所在的索引位置:"+raf.getFilePointer());//12

            //设置指针偏移量，将指针移动到索引为7的开始
            raf.seek(7);
            raf.write("aaa".getBytes());

            raf.seek(9);
            raf.write("rr".getBytes());

            System.out.println("指针所在的索引位置:"+raf.getFilePointer());//11
            raf.skipBytes(5);
            raf.write("888".getBytes());
            System.out.println("指针所在的索引位置:"+raf.getFilePointer());


        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}
